package mysql8学习.初级.第08章_聚合函数;

/**
 * 可以对数值型数据使用 AVG 和 SUM 函数。
 *      AVG()   平均值     自动过滤空值   如果计算字符串mysql直接返回0 其他报错
 *      SUM()   求和      自动过滤空值
 *
 * 可以对 任意数据类型 的数据使用 MIN 和 MAX 函数。
 *      MIN()   最小值     自动过滤空值
 *      MAX()   最大值     自动过滤空值
 *
 * COUNT(*)返回表中记录总数，适用于任意数据类型。
 *      COUNT函数
 *
 *      问题：用count(*)，count(1)，count(列名)谁好呢?
 *      其实，对于MyISAM引擎的表是没有区别的。
 *      这种引擎内部有一计数器在维护着行数。
 *
 *      Innodb引擎的表用count(*),count(1)直接读行数，
 *      复杂度是O(n)，因为innodb真的要去数一遍。
 *      但好于具体的count(列名)。
 *
 *      问题：能不能使用count(列名)替换count(*)?
 *      不要使用 count(列名)来替代 count(*) ，count(*) 是 SQL92 定义的标准统计行数的语法，
 *      跟数据库无关，跟 NULL 和非 NULL 无关。
 *      说明：count(*)会统计值为 NULL 的行，而 count(列名)不会统计此列为 NULL 值的行。
 *
 *  GROUP_CONCAT(CONCAT(name,"(",salary,")") SEPARATOR ';')
 *      CONCAT(name,"(",salary,")")              字符串连接
 *      GROUP_CONCAT(聚合数据 SEPARATOR '分隔符')  字符串聚合
 *
 *
 * 还有：
 *      方差、标准差、中位数等
 *
 */
public class B_常见的聚合函数 {
    public static void main(String[] args) {

    }
}
